package ProyectoX;

import javax.swing.ImageIcon;

/**
 * Clase Submarino extiende NaveJugador
 *
 */
public class Submarino extends NaveJugador {
	
	/**
	 * Constructor Submarino
	 * @param n Nivel
	 */
	public Submarino(Nivel n){
		super(5, 3, n);
		MiNivel.obtenerArmasJugador().add(new Laser(n, this, NivelArma));
		setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Submarino.png")));
		setBounds(0, 0,getIcon().getIconWidth(), getIcon().getIconHeight());
		
	}
	
	/**
	 * Crea un laser, lo agrega al nivel
	 * y a la lista de armas jugador
	 */
	public void Atacar(){	
		int x= (this.getWidth()/2 + this.getX());
		//Como es el unico jugador que tiene un arma laser la lista siempre contendra un solo objeto "Laser"
		ArmaJugador arma = MiNivel.obtenerArmasJugador().get(0);
		arma.setBounds(x, this.getY()+ (this.getIcon().getIconHeight()/2 + 10), arma.getIcon().getIconWidth(), arma.getIcon().getIconHeight());
		MiNivel.agregarComponente(arma);
		arma.setVisible(true);
		AutoRemove a= new AutoRemove(arma, MiNivel.juego.jPanelNivel);
		a.start();
	}
	
	/**
	 * Disminuye el nivel del arma del jugador, incrementa cantidad de golpes
	 * y la quita un corazon.
	 */
	public void serAtacado(){
		DisminuirNivelArma();
		cantGolpesRecibidos++;
		quitarCorazon();
		setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/SubmarinoBrillo.png")));
		try {
			MiNivel.Hilo.sleep(75);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Submarino.png")));
	}
	
}